#ifndef FILEMGR_H
#define FILEMGR_H

#include "dbmgr.h"

#include <string>
#include <vector>
#include <memory>
#include <map>

class DBMgr;

class FileMgr
{
public:
    FileMgr(std::shared_ptr<DBMgr> mgr);
    void traverseFile(std::string &path);
    void traverseFile(int parent, std::string &path);

    std::shared_ptr<std::vector<TypeInfo> > supportedTypes() const { return m_supportedTypes; }
    void setSupportedTypes(const std::shared_ptr<std::vector<TypeInfo> > &supportedTypes);

private:
    std::shared_ptr<DBMgr> m_dbMgr;
    std::shared_ptr<std::vector<TypeInfo>> m_supportedTypes;
    std::map<std::string, int> m_mapSuffix2id;
};

#endif // FILEMGR_H
